import AbstractTool from './abstract-tool.action'
import * as Circles from './circles'
import FunctionTool from './function-tool.action'
import Image from './image.action'
import * as Lines from './lines'
import * as Mirrors from './mirrors'
import PathFocus from './path-focus.action'
import PathRemove from './path-remove.action'
import PathRotate from './path-rotate.action'
import Pen from './pen.action'
import * as Points from './points'
import Polygon from './polygon.action'
import Rect from './rect.action'
import Ruler from './ruler.action'
import Text from './text.action'
import Version from './version.action'

let ToolFactory = {
	AbstractTool,
	FunctionTool,
	Image,
	PathFocus,
	PathRemove,
	PathRotate,
	Pen,
	Polygon,
	Rect,
	Ruler,
	Text,
	Version
}

const mergeTools = (dirs)=>{
	dirs.forEach(dir=>{
		for(let k in dir)
			ToolFactory[k] = dir[k]
	})
}
mergeTools([Circles,Lines,Mirrors,Points])
export default ToolFactory